home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 2000 November / cd joystick no120 novembre 2000 cd 1.iso / data / demos / gunlok / data1.cab / Program_Executable_Files / scripts / wall_multifrag.gsh < prev    next >
Text File  |  2000-08-22  |  3KB  |  115 lines

  1. // defines a wall which has several stages of destructibility
  2. ////////////////////////////////////////////////////////////////////////////////////
  3.  
  4. // start wrapper - prevent multiple inclusions or recursive inclusions
  5.  
  6. //(this currently causes 'unrecognized preprocessor directive' warnings, until implemented)
  7. #ifndef INCLUDED_WALL_MULTIFRAG_GSH
  8. #define INCLUDED_WALL_MULTIFRAG_GSH
  9.  
  10. #include "defaults.gsh"
  11.  
  12. ////////////////////////////////////////////////////////////////////////////////////
  13.  
  14. // demolished wall and second lot of frag bits
  15.  
  16. shape Shp_Fragwall_C
  17. {
  18.        file "objects\Fragwall C.rif"
  19.        name "Fragwall C"
  20. }
  21.  
  22. role Rol_Fragwall_C : Rol_PlacedObject
  23. {
  24.     shape            Shp_Fragwall_C
  25.     identifier        "fragwall_c"
  26.     ai blocker
  27. }
  28.  
  29. hierarchy Hcy_Fragwall_Frag_B
  30. {
  31.     file    "objects\Fragwall frag B.rif"
  32.     name    "Fragwall frag B"
  33.     hotspot none
  34. }
  35.  
  36. role Rol_Fragwall_Frag_B : Rol_PlacedObject
  37. {
  38.     shape            Hcy_Fragwall_Frag_B
  39.     identifier        "fragwall_frag_B"
  40.     frag control    yes
  41.     hit test ignore yes
  42. }
  43.  
  44. // damaged wall and first lot of frag bits
  45.  
  46. shape Shp_Fragwall_B
  47. {
  48.        file "objects\Fragwall B.rif"
  49.        name "Fragwall B"
  50. }
  51.  
  52. frag data Frg_Fragwall_B    // this creates Rol_Fragwall_C and frag bits
  53. {
  54.     role            Rol_Fragwall_Frag_B
  55.     replace role    Rol_Fragwall_C
  56.     replace         yes                    // get rid of the old wall
  57.     scale            7
  58.     symmetric        no
  59. }
  60.  
  61. role Rol_Fragwall_B : Rol_PlacedObject
  62. {
  63.     shape            Shp_Fragwall_B
  64.     identifier        "fragwall_b"
  65.     destructibility    Frg_Fragwall_B
  66.     armour            0
  67.     ai blocker
  68. }
  69.  
  70. hierarchy Hcy_Fragwall_Frag_A
  71. {
  72.     file    "objects\Fragwall frag A.rif"
  73.     name    "Fragwall frag A"
  74.     hotspot none
  75. }
  76.  
  77. role Rol_Fragwall_Frag_A : Rol_PlacedObject
  78. {
  79.     shape            Hcy_Fragwall_Frag_A
  80.     identifier        "fragwall_frag_A"
  81.     frag control    yes
  82.     hit test ignore yes
  83. }
  84.  
  85. // the intact wall
  86.  
  87. shape Shp_Fragwall_A
  88. {
  89.        file "objects\Fragwall A.rif"
  90.        name "Fragwall A"
  91. }
  92.  
  93. frag data Frg_Fragwall_A    // this creates Rol_Fragwall_B and frag bits
  94. {
  95.     role            Rol_Fragwall_Frag_A
  96.     replace role    Rol_Fragwall_B
  97.     replace         yes                    // get rid of the old wall
  98.     scale            10
  99.     symmetric        no
  100. }
  101.  
  102. role Rol_Fragwall_A : Rol_PlacedObject
  103. {
  104.     shape            Shp_Fragwall_A
  105.     identifier        "fragwall_a"
  106.     destructibility    Frg_Fragwall_A
  107.     armour            0
  108.     ai blocker
  109. }
  110.  
  111. ////////////////////////////////////////////////////////////////////////////////////
  112.  
  113. // end wrapper - for preventing multiple or recursive inclusions
  114. #endif // !INCLUDED_WALL_MULTIFRAG_GSH
  115.